UNPKG

arc_dx

Version:

A platform for building DAOs

495 lines 437 kB
{ "contractName": "VoteInOrganizationScheme", "abi": [ { "constant": true, "inputs": [ { "name": "", "type": "bytes32" } ], "name": "parameters", "outputs": [ { "name": "intVote", "type": "address" }, { "name": "voteParams", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "bytes32" } ], "name": "organizationsProposals", "outputs": [ { "name": "originalIntVote", "type": "address" }, { "name": "originalProposalId", "type": "bytes32" }, { "name": "originalNumOfChoices", "type": "uint256" }, { "name": "exist", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_hashedParameters", "type": "bytes32" } ], "name": "updateParameters", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_stakingToken", "type": "address" }, { "name": "_proposalId", "type": "bytes32" } ], "name": "balanceOfStakingToken", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" }, { "name": "_proposalId", "type": "bytes32" } ], "name": "reputationOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_proposalId", "type": "bytes32" } ], "name": "getTotalReputationSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_stakingToken", "type": "address" }, { "name": "_beneficiary", "type": "address" }, { "name": "_amount", "type": "uint256" }, { "name": "_proposalId", "type": "bytes32" } ], "name": "stakingTokenTransfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_amount", "type": "uint256" }, { "name": "_beneficiary", "type": "address" }, { "name": "_proposalId", "type": "bytes32" } ], "name": "mintReputation", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_amount", "type": "uint256" }, { "name": "_beneficiary", "type": "address" }, { "name": "_proposalId", "type": "bytes32" } ], "name": "burnReputation", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "hashedParameters", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_avatar", "type": "address" }, { "indexed": true, "name": "_proposalId", "type": "bytes32" }, { "indexed": true, "name": "_intVoteInterface", "type": "address" }, { "indexed": false, "name": "_originalIntVote", "type": "address" }, { "indexed": false, "name": "_originalProposalId", "type": "bytes32" }, { "indexed": false, "name": "_originalNumOfChoices", "type": "uint256" } ], "name": "NewVoteProposal", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_avatar", "type": "address" }, { "indexed": true, "name": "_proposalId", "type": "bytes32" }, { "indexed": false, "name": "_param", "type": "int256" } ], "name": "ProposalExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_avatar", "type": "address" }, { "indexed": true, "name": "_proposalId", "type": "bytes32" } ], "name": "ProposalDeleted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_params", "type": "bytes32[]" } ], "name": "VoteOnBehalf", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": false, "inputs": [ { "name": "_proposalId", "type": "bytes32" }, { "name": "_param", "type": "int256" } ], "name": "executeProposal", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_voteParams", "type": "bytes32" }, { "name": "_intVote", "type": "address" } ], "name": "setParameters", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_voteParams", "type": "bytes32" }, { "name": "_intVote", "type": "address" } ], "name": "getParametersHash", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": false, "inputs": [ { "name": "_avatar", "type": "address" }, { "name": "_originalIntVote", "type": "address" }, { "name": "_originalProposalId", "type": "bytes32" } ], "name": "proposeVote", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405260008054600160a060020a0319163317905561187e806100256000396000f3006080604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806306e3a978146101175780632453732a1461016d5780632ac2af53146101a357806358b37659146101bd57806368e14dac146101e75780636b8eb4031461020b578063715018a61461022f5780638da5cb5b146102445780639588378e146102755780639d4c162d14610299578063b551c373146102c8578063bea75f28146102e0578063d29b5d2f1461030d578063f2fde38b14610334578063f81f8bf614610355578063f98e87ba1461037c575b600080fd5b3480156100e857600080fd5b506100f4600435610391565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561012357600080fd5b5061013b600160a060020a03600435166024356103b6565b60408051600160a060020a03909516855260208501939093528383019190915215156060830152519081900360800190f35b34801561017957600080fd5b50610191600435600160a060020a03602435166103f4565b60408051918252519081900360200190f35b3480156101af57600080fd5b506101bb600435610492565b005b3480156101c957600080fd5b50610191600160a060020a03600435811690602435166044356104ae565b3480156101f357600080fd5b50610191600435600160a060020a036024351661089f565b34801561021757600080fd5b50610191600160a060020a03600435166024356108f4565b34801561023b57600080fd5b506101bb6109a0565b34801561025057600080fd5b50610259610a0c565b60408051600160a060020a039092168252519081900360200190f35b34801561028157600080fd5b50610191600160a060020a0360043516602435610a1b565b3480156102a557600080fd5b506102b4600435602435610b54565b604080519115158252519081900360200190f35b3480156102d457600080fd5b50610191600435610ffd565b3480156102ec57600080fd5b506102b4600160a060020a0360043581169060243516604435606435611162565b34801561031957600080fd5b506102b4600435600160a060020a0360243516604435611311565b34801561034057600080fd5b506101bb600160a060020a03600435166114b7565b34801561036157600080fd5b506102b4600435600160a060020a03602435166044356114da565b34801561038857600080fd5b50610191611648565b60046020526000908152604090208054600190910154600160a060020a039091169082565b600360208181526000938452604080852090915291835291208054600182015460028301549290930154600160a060020a0390911692919060ff1684565b6040805160208082018590526c01000000000000000000000000600160a060020a0385160282840152825160348184030181526054909201928390528151600093918291908401908083835b6020831061045f5780518252601f199092019160209182019101610440565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600054600160a060020a031633146104a957600080fd5b600155565b6000806104b96117d4565b600080600087600160a060020a031663a003651d886040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b505050506040513d602081101561053957600080fd5b505194506004600061054a8b61164e565b815260208082019290925260409081016000908120825180840184528154600160a060020a03168082526001909201548186015283517f51d997b2000000000000000000000000000000000000000000000000000000008152935190985090965088955086936351d997b293600480820194929392918390030190829087803b1580156105d657600080fd5b505af11580156105ea573d6000803e3d6000fd5b505050506040513d602081101561060057600080fd5b50511561060e576001820191505b602080850151604080517f88737b5e000000000000000000000000000000000000000000000000000000008152600481018690526024810192909252336044830152600160a060020a038c811660648401529051908616926388737b5e92608480820193918290030181600087803b15801561068957600080fd5b505af115801561069d573d6000803e3d6000fd5b505050506040513d60208110156106b357600080fd5b8101908080519060200190929190505050905060806040519081016040528089600160a060020a031681526020018860001916815260200186815260200160011515815250600360008b600160a060020a0316600160a060020a031681526020019081526020016000206000836000191660001916815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a03160217905550602082015181600101906000191690556040820151816002015560608201518160030160006101000a81548160ff0219169083151502179055509050508360000151600160a060020a031681600019168a600160a060020a03167fa04e76655fd38a7c9579a6fde8864276137b505c346dc2a2ae185946772abcd78b8b8a6040518084600160a060020a0316600160a060020a031681526020018360001916600019168152602001828152602001935050505060405180910390a460408051606081018252438152600160a060020a03808c16602080840191825287831684860190815260008781526002928390529590952093518455905160018401805491841673ffffffffffffffffffffffffffffffffffffffff1992831617905593519201805492909116919092161790559450505050509392505050565b6000806108ac84846103f4565b600081815260046020526040902060018101869055805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03861617905591508190505b5092915050565b60008181526002602090815260408083206001015481517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820181905292519293918716926370a082319260248084019391929182900301818887803b15801561096c57600080fd5b505af1158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b5051949350505050565b600054600160a060020a031633146109b757600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b6000610a256117eb565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a0390811693820184905291909301541692820192909252901515610a7757600091506108ed565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ab957600080fd5b505af1158015610acd573d6000803e3d6000fd5b505050506040513d6020811015610ae357600080fd5b50518151604080517f4ee2cd7e000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152602482019390935290519190921691634ee2cd7e9160448083019260209291908290030181600087803b15801561096c57600080fd5b600080610b5f61180b565b600085815260026020819052604082200154819081908890600160a060020a03163314610bc4576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600260008a6000191660001916815260200190815260200160002060010160009054906101000a9004600160a060020a031695506003600087600160a060020a0316600160a060020a0316815260200190815260200160002060008a60001916600019168152602001908152602001600020608060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581525050945084606001511515610cba57600080fd5b600160a060020a03861660008181526003602081815260408084208e8552909152808320805473ffffffffffffffffffffffffffffffffffffffff191681556001810184905560028101849055909101805460ff19169055518b92917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a3600193508715610fb0578792508460400151831315610d5757600092505b85600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d9557600080fd5b505af1158015610da9573d6000803e3d6000fd5b505050506040513d6020811015610dbf57600080fd5b8101908080519060200190929190505050915060006001026000191682600160a060020a03166320204fb787600001518860200151873060405160240180846000191660001916815260200183815260200182600160a060020a0316600160a060020a0316815260200193505050506040516020818303038152906040527f76124dac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508a6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a031681526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b83811015610f2b578181015183820152602001610f13565b50505050905090810190601f168015610f585780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050506040513d6020811015610fa357600080fd5b50511415610fb057600093505b6040805189815290518a91600160a060020a038916917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc09181900360200190a35091979650505050505050565b60006110076117eb565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a0390811693820184905291909301541692820192909252901515611059576000915061115c565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b50518151604080517f981b24d0000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a039092169163981b24d0916024808201926020929091908290030181600087803b15801561112d57600080fd5b505af1158015611141573d6000803e3d6000fd5b505050506040513d602081101561115757600080fd5b505191505b50919050565b60008181526002602081905260408220015481908390600160a060020a031633146111c5576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156111f25760009250611307565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b505050506040513d602081101561125a57600080fd5b5051604080517fb9a04cdd000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905285811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b505050506040513d602081101561130257600080fd5b505192505b5050949350505050565b60008181526002602081905260408220015481908390600160a060020a03163314611374576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156113a157600092506114ae565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156113df57600080fd5b505af11580156113f3573d6000803e3d6000fd5b505050506040513d602081101561140957600080fd5b5051604080517feaf994b200000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a03888116602483015285811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b505192505b50509392505050565b600054600160a060020a031633146114ce57600080fd5b6114d781611757565b50565b60008181526002602081905260408220015481908390600160a060020a0316331461153d576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a0316915081151561156a57600092506114ae565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156115a857600080fd5b505af11580156115bc573d6000803e3d6000fd5b505050506040513d60208110156115d257600080fd5b5051604080517f6e94d27800000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a038881166024830152858116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b15801561147f57600080fd5b60015481565b600081600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561168e57600080fd5b505af11580156116a2573d6000803e3d6000fd5b505050506040513d60208110156116b857600080fd5b5051604080517f1c4d5608000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a03858116602483015291519190921691631c4d56089160448083019260209291908290030181600087803b15801561172557600080fd5b505af1158015611739573d6000803e3d6000fd5b505050506040513d602081101561174f57600080fd5b505192915050565b600160a060020a038116151561176c57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056006f6e6c7920566f74696e674d616368696e650000000000000000000000000000a165627a7a72305820d5710f5a3b08bc089f07697aeaee7ecca038d873792ae21baa243194aac447f70029", "deployedBytecode": "0x6080604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806306e3a978146101175780632453732a1461016d5780632ac2af53146101a357806358b37659146101bd57806368e14dac146101e75780636b8eb4031461020b578063715018a61461022f5780638da5cb5b146102445780639588378e146102755780639d4c162d14610299578063b551c373146102c8578063bea75f28146102e0578063d29b5d2f1461030d578063f2fde38b14610334578063f81f8bf614610355578063f98e87ba1461037c575b600080fd5b3480156100e857600080fd5b506100f4600435610391565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561012357600080fd5b5061013b600160a060020a03600435166024356103b6565b60408051600160a060020a03909516855260208501939093528383019190915215156060830152519081900360800190f35b34801561017957600080fd5b50610191600435600160a060020a03602435166103f4565b60408051918252519081900360200190f35b3480156101af57600080fd5b506101bb600435610492565b005b3480156101c957600080fd5b50610191600160a060020a03600435811690602435166044356104ae565b3480156101f357600080fd5b50610191600435600160a060020a036024351661089f565b34801561021757600080fd5b50610191600160a060020a03600435166024356108f4565b34801561023b57600080fd5b506101bb6109a0565b34801561025057600080fd5b50610259610a0c565b60408051600160a060020a039092168252519081900360200190f35b34801561028157600080fd5b50610191600160a060020a0360043516602435610a1b565b3480156102a557600080fd5b506102b4600435602435610b54565b604080519115158252519081900360200190f35b3480156102d457600080fd5b50610191600435610ffd565b3480156102ec57600080fd5b506102b4600160a060020a0360043581169060243516604435606435611162565b34801561031957600080fd5b506102b4600435600160a060020a0360243516604435611311565b34801561034057600080fd5b506101bb600160a060020a03600435166114b7565b34801561036157600080fd5b506102b4600435600160a060020a03602435166044356114da565b34801561038857600080fd5b50610191611648565b60046020526000908152604090208054600190910154600160a060020a039091169082565b600360208181526000938452604080852090915291835291208054600182015460028301549290930154600160a060020a0390911692919060ff1684565b6040805160208082018590526c01000000000000000000000000600160a060020a0385160282840152825160348184030181526054909201928390528151600093918291908401908083835b6020831061045f5780518252601f199092019160209182019101610440565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600054600160a060020a031633146104a957600080fd5b600155565b6000806104b96117d4565b600080600087600160a060020a031663a003651d886040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b505050506040513d602081101561053957600080fd5b505194506004600061054a8b61164e565b815260208082019290925260409081016000908120825180840184528154600160a060020a03168082526001909201548186015283517f51d997b2000000000000000000000000000000000000000000000000000000008152935190985090965088955086936351d997b293600480820194929392918390030190829087803b1580156105d657600080fd5b505af11580156105ea573d6000803e3d6000fd5b505050506040513d602081101561060057600080fd5b50511561060e576001820191505b602080850151604080517f88737b5e000000000000000000000000000000000000000000000000000000008152600481018690526024810192909252336044830152600160a060020a038c811660648401529051908616926388737b5e92608480820193918290030181600087803b15801561068957600080fd5b505af115801561069d573d6000803e3d6000fd5b505050506040513d60208110156106b357600080fd5b8101908080519060200190929190505050905060806040519081016040528089600160a060020a031681526020018860001916815260200186815260200160011515815250600360008b600160a060020a0316600160a060020a031681526020019081526020016000206000836000191660001916815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a03160217905550602082015181600101906000191690556040820151816002015560608201518160030160006101000a81548160ff0219169083151502179055509050508360000151600160a060020a031681600019168a600160a060020a03167fa04e76655fd38a7c9579a6fde8864276137b505c346dc2a2ae185946772abcd78b8b8a6040518084600160a060020a0316600160a060020a031681526020018360001916600019168152602001828152602001935050505060405180910390a460408051606081018252438152600160a060020a03808c16602080840191825287831684860190815260008781526002928390529590952093518455905160018401805491841673ffffffffffffffffffffffffffffffffffffffff1992831617905593519201805492909116919092161790559450505050509392505050565b6000806108ac84846103f4565b600081815260046020526040902060018101869055805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03861617905591508190505b5092915050565b60008181526002602090815260408083206001015481517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820181905292519293918716926370a082319260248084019391929182900301818887803b15801561096c57600080fd5b505af1158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b5051949350505050565b600054600160a060020a031633146109b757600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b6000610a256117eb565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a0390811693820184905291909301541692820192909252901515610a7757600091506108ed565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ab957600080fd5b505af1158015610acd573d6000803e3d6000fd5b505050506040513d6020811015610ae357600080fd5b50518151604080517f4ee2cd7e000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152602482019390935290519190921691634ee2cd7e9160448083019260209291908290030181600087803b15801561096c57600080fd5b600080610b5f61180b565b600085815260026020819052604082200154819081908890600160a060020a03163314610bc4576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600260008a6000191660001916815260200190815260200160002060010160009054906101000a9004600160a060020a031695506003600087600160a060020a0316600160a060020a0316815260200190815260200160002060008a60001916600019168152602001908152602001600020608060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581525050945084606001511515610cba57600080fd5b600160a060020a03861660008181526003602081815260408084208e8552909152808320805473ffffffffffffffffffffffffffffffffffffffff191681556001810184905560028101849055909101805460ff19169055518b92917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a3600193508715610fb0578792508460400151831315610d5757600092505b85600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d9557600080fd5b505af1158015610da9573d6000803e3d6000fd5b505050506040513d6020811015610dbf57600080fd5b8101908080519060200190929190505050915060006001026000191682600160a060020a03166320204fb787600001518860200151873060405160240180846000191660001916815260200183815260200182600160a060020a0316600160a060020a0316815260200193505050506040516020818303038152906040527f76124dac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508a6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a031681526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b83811015610f2b578181015183820152602001610f13565b50505050905090810190601f168015610f585780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050506040513d6020811015610fa357600080fd5b50511415610fb057600093505b6040805189815290518a91600160a060020a038916917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc09181900360200190a35091979650505050505050565b60006110076117eb565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a0390811693820184905291909301541692820192909252901515611059576000915061115c565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b50518151604080517f981b24d0000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a039092169163981b24d0916024808201926020929091908290030181600087803b15801561112d57600080fd5b505af1158015611141573d6000803e3d6000fd5b505050506040513d602081101561115757600080fd5b505191505b50919050565b60008181526002602081905260408220015481908390600160a060020a031633146111c5576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156111f25760009250611307565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b505050506040513d602081101561125a57600080fd5b5051604080517fb9a04cdd000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905285811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b505050506040513d602081101561130257600080fd5b505192505b5050949350505050565b60008181526002602081905260408220015481908390600160a060020a03163314611374576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156113a157600092506114ae565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156113df57600080fd5b505af11580156113f3573d6000803e3d6000fd5b505050506040513d602081101561140957600080fd5b5051604080517feaf994b200000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a03888116602483015285811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b505192505b50509392505050565b600054600160a060020a031633146114ce57600080fd5b6114d781611757565b50565b60008181526002602081905260408220015481908390600160a060020a0316331461153d576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611833833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a0316915081151561156a57600092506114ae565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156115a857600080fd5b505af11580156115bc573d6000803e3d6000fd5b505050506040513d60208110156115d257600080fd5b5051604080517f6e94d27800000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a038881166024830152858116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b15801561147f57600080fd5b60015481565b600081600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561168e57600080fd5b505af11580156116a2573d6000803e3d6000fd5b505050506040513d60208110156116b857600080fd5b5051604080517f1c4d5608000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a03858116602483015291519190921691631c4d56089160448083019260209291908290030181600087803b15801561172557600080fd5b505af1158015611739573d6000803e3d6000fd5b505050506040513d602081101561174f57600080fd5b505192915050565b600160a060020a038116151561176c57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056006f6e6c7920566f74696e674d616368696e650000000000000000000000000000a165627a7a72305820d5710f5a3b08bc089f07697aeaee7ecca038d873792ae21baa243194aac447f70029", "sourceMap": "383:5737:37:-;;;567:5:55;:18;;-1:-1:-1;;;;;;567:18:55;575:10;567:18;;;383:5737:37;;;;;;", "deployedSourceMap": "383:5737:37:-;;;;;;;;;-1:-1:-1;;;383:5737:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1550:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1550:46:37;;;;;;;;;-1:-1:-1;;;;;1550:46:37;;;;;;;;;;;;;;;;;;;;;1268:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1268:78:37;-1:-1:-1;;;;;1268:78:37;;;;;;;;;;;-1:-1:-1;;;;;1268:78:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4036:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4036:204:37;;;-1:-1:-1;;;;;4036:204:37;;;;;;;;;;;;;;;;;;;;;419:157:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;419:157:33;;;;;;;4598:1520:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4598:1520:37;-1:-1:-1;;;;;4598:1520:37;;;;;;;;;;;;3484:334;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3484:334:37;;;-1:-1:-1;;;;;3484:334:37;;;;;2581:231:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2581:231:39;-1:-1:-1;;;;;2581:231:39;;;;;;;1001:111:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:55;;;;238:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:55;;;;;;;;-1:-1:-1;;;;;238:20:55;;;;;;;;;;;;;;1759:328:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1759:328:39;-1:-1:-1;;;;;1759:328:39;;;;;;;1927:1315:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1927:1315:37;;;;;;;;;;;;;;;;;;;;;;;;;668:323:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;668:323:39;;;;;2093:482;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2093:482:39;-1:-1:-1;;;;;2093:482:39;;;;;;;;;;;;;;997:375;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;997:375:39;;;-1:-1:-1;;;;;997:375:39;;;;;;;1274:103:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:55;-1:-1:-1;;;;;1274:103:55;;;;;1378:375:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1378:375:39;;;-1:-1:-1;;;;;1378:375:39;;;;;;;356:31:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;356:31:33;;;;1550:46:37;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1550:46:37;;;;;:::o;1268:78::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1268:78:37;;;;;;;;;:::o;4036:204::-;4193:39;;;;;;;;;;;-1:-1:-1;;;;;4193:39:37;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;4193:39:37;;;;;;;;4183:50;;4153:7;;4193:39;;;4183:50;;;;;4193:39;4183:50;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;;;;365:33;;4183:50:37;;;;;;;;;;;;-1:-1:-1;;;;;;4036:204:37:o;419:157:33:-;719:5:55;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;533:16:33;:36;419:157::o;4598:1520:37:-;4722:7;4745:25;4839:24;;:::i;:::-;4924;4976:28;5359:18;4773:16;-1:-1:-1;;;;;4773:35:37;;4809:19;4773:56;;;;;-1:-1:-1;;;4773:56:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4773:56:37;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4773:56:37;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4773:56:37;;-1:-1:-1;4866:10:37;:48;4877:36;4905:7;4877:27;:36::i;:::-;4866:48;;;;;;;;;;;;;;;;;;4839:75;;;;;;;;;-1:-1:-1;;;;;4839:75:37;;;;;;;;;;;;;5041:24;;;;;;;4839:75;;-1:-1:-1;4839:75:37;;-1:-1:-1;5007:20:37;;-1:-1:-1;4839:75:37;;5041:22;;:24;;;;;4866:48;;5041:24;;;;;;;;;4839:75;5041:24;;;5:2:-1;;;;30:1;27;20:12;5:2;5041:24:37;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5041:24:37;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5041:24:37;5037:313;;;5338:1;5311:28;;;;5037:313;5421:17;;;;;5380:78;;;;;;;;;;;;;;;;;;;5439:10;5380:78;;;;-1:-1:-1;;;;;5380:78:37;;;;;;;;;:15;;;;;;:78;;;;;;;;;;;-1:-1:-1;5380:15:37;:78;;;5:2:-1;;;;30:1;27;20:12;5:2;5380:78:37;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5380:78:37;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5380:78:37;;;;;;;;;;;;;;;;5359:99;;5515:205;;;;;;;;;5559:16;-1:-1:-1;;;;;5515:205:37;;;;;5609:19;5515:205;;;;;;;5664:20;5515:205;;;;5705:4;5515:205;;;;;5469:22;:31;5492:7;-1:-1:-1;;;;;5469:31:37;-1:-1:-1;;;;;5469:31:37;;;;;;;;;;;;:43;5501:10;5469:43;;;;;;;;;;;;;;;;;:251;;;;;;;;;;;;;-1:-1:-1;;;;;5469:251:37;;;;;-1:-1:-1;;;;;5469:251:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5809:6;:14;;;-1:-1:-1;;;;;5735:195:37;5785:10;5735:195;;;5764:7;-1:-1:-1;;;;;5735:195:37;;5837:16;5867:19;5900:20;5735:195;;;;-1:-1:-1;;;;;5735:195:37;-1:-1:-1;;;;;5735:195:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5968:116;;;;;;;;6007:12;5968:116;;-1:-1:-1;;;;;5968:116:37;;;;;;;;;;;;;;;;;;;-1:-1:-1;5940:25:37;;;:13;:25;;;;;;;;:144;;;;;;;;;;;;;;-1:-1:-1;;5940:144:37;;;;;;;;;;;;;;;;;;;;;;;5954:10;-1:-1:-1;4598:1520:37;;;;;;;;;:::o;3484:334::-;3592:7;3615:18;3636:40;3654:11;3667:8;3636:17;:40::i;:::-;3686:22;;;;:10;:22;;;;;:33;;;:47;;;3743:41;;-1:-1:-1;;3743:41:37;-1:-1:-1;;;;;3743:41:37;;;;;3686:22;-1:-1:-1;3686:22:37;;-1:-1:-1;3484:334:37;;;;;;:::o;2581:231:39:-;2683:4;2715:26;;;:13;:26;;;;;;;;:33;;;2765:40;;;;;-1:-1:-1;;;;;2715:33:39;;;2765:40;;;;;;;;2715:33;;2765:23;;;;;;:40;;;;;2715:26;;2765:40;;;;;;2683:4;2765:23;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;2765:40:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2765:40:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2765:40:39;;2581:231;-1:-1:-1;;;;2581:231:39:o;1001:111:55:-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:55;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:55;;;1001:111::o;238:20::-;;;-1:-1:-1;;;;;238:20:55;;:::o;1759:328:39:-;1839:4;1855:28;;:::i;:::-;-1:-1:-1;1886:26:39;;;;:13;:26;;;;;;;;;1855:57;;;;;;;;;;;;;;;-1:-1:-1;;;;;1855:57:39;;;;;;;;;;;;;;;;;;;;;;;1926:28;1922:67;;;1977:1;1970:8;;;;1922:67;2005:8;:15;;;-1:-1:-1;;;;;2005:32:39;;:34;;;;;-1:-1:-1;;;2005:34:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2005:34:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2005:34:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2005:34:39;2059:20;;2005:75;;;;;;-1:-1:-1;;;;;2005:75:39;;;;;;;;;;;;;;;;:46;;;;;;;:75;;;;;:34;;:75;;;;;;;2059:20;2005:46;:75;;;5:2:-1;;;;30:1;27;20:12;1927:1315:37;2032:4;2048:14;2168:28;;:::i;:::-;2396:11;472:26:39;;;:13;:26;;;;;;;:40;;2396:11:37;;;;472:26:39;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;2065:13:37;:26;2079:11;2065:26;;;;;;;;;;;;;;;;;:33;;;;;;;;;;-1:-1:-1;;;;;2065:33:37;2048:50;;2199:22;:30;2222:6;-1:-1:-1;;;;;2199:30:37;-1:-1:-1;;;;;2199:30:37;;;;;;;;;;;;:43;2230:11;2199:43;;;;;;;;;;;;;;;;;2168:74;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2168:74:37;-1:-1:-1;;;;;2168:74:37;-1:-1:-1;;;;;2168:74:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2260:8;:14;;;2252:23;;;;;;;;-1:-1:-1;;;;;2292:30:37;;;;;;:22;:30;;;;;;;;:43;;;;;;;;;2285:50;;-1:-1:-1;;2285:50:37;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2285:50:37;;;2350:36;2323:11;;2292:30;2350:36;;;2410:4;;-1:-1:-1;2466:11:37;;2462:692;;2554:6;2542:18;;2590:8;:29;;;2578:5;:42;2574:90;;;2648:1;2640:9;;2574:90;2738:6;-1:-1:-1;;;;;2731:20:37;;:22;;;;;-1:-1:-1;;;2731:22:37;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2731:22:37;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2731:22:37;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2731:22:37;;;;;;;;;;;;;;;;2678:76;;3091:1;3083:10;;2772:321;;;:10;-1:-1:-1;;;;;2772:22:37;;2825:8;:24;;;2951:8;:27;;;3006:5;3043:4;2873:176;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2873:176:37;-1:-1:-1;;;;;2873:176:37;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2873:176:37;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;2873:176:37;3072:6;2772:307;;;;;-1:-1:-1;;;2772:307:37;;;;;;;-1:-1:-1;;;;;2772:307:37;-1:-1:-1;;;;;2772:307:37;;;;;;;;;-1:-1:-1;;;;;2772:307:37;-1:-1:-1;;;;;2772:307:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2772:307:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2772:307:37;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2772:307:37;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2772:307:37;:321;2768:374;;;3122:5;3113:14;;2768:374;3168:44;;;;;;;;3193:11;;-1:-1:-1;;;;;3168:44:37;;;;;;;;;;;;-1:-1:-1;3229:6:37;;1927:1315;-1:-1:-1;;;;;;;1927:1315:37:o;668:323:39:-;745:7;764:28;;:::i;:::-;-1:-1:-1;795:26:39;;;;:13;:26;;;;;;;;;764:57;;;;;;;;;;;;;;;-1:-1:-1;;;;;764:57:39;;;;;;;;;;;;;;;;;;;;;;;835:28;831:67;;;886:1;879:8;;;;831:67;914:8;:15;;;-1:-1:-1;;;;;914:32:39;;:34;;;;;-1:-1:-1;;;914:34:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:34:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;914:34:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;914:34:39;963:20;;914:70;;;;;;;;;;;;;;-1:-1:-1;;;;;914:48:39;;;;;;:70;;;;;:34;;:70;;;;;;;;963:20;914:48;:70;;;5:2:-1;;;;30:1;27;20:12;5:2;914:70:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;914:70:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;914:70:39;;-1:-1:-1;668:323:39;;;;;:::o;2093:482::-;2302:4;472:26;;;:13;:26;;;;;;;:40;;2302:4;;472:26;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;2338:26;;;;:13;:26;;;;;:33;;;-1:-1:-1;;;;;2338:33:39;;-1:-1:-1;2385:19:39;;2381:62;;;2427:5;2420:12;;;;2381:62;2479:6;-1:-1:-1;;;;;2479:12:39;;:14;;;;;-1:-1:-1;;;2479:14:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2479:14:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2479:14:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2479:14:39;2459:109;;;;;;-1:-1:-1;;;;;2459:109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;;;;:109;;;;;2479:14;;2459:109;;;;;;;-1:-1:-1;2459:57:39;:109;;;5:2:-1;;;;30:1;27;20:12;5:2;2459:109:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2459:109:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2459:109:39;;-1:-1:-1;544:1:39;2093:482;;;;;;;;:::o;997:375::-;1124:4;472:26;;;:13;:26;;;;;;;:40;;1124:4;;472:26;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;1156:26;;;;:13;:26;;;;;:33;;;-1:-1:-1;;;;;1156:33:39;;-1:-1:-1;1203:19:39;;1199:62;;;1245:5;1238:12;;;;1199:62;1297:6;-1:-1:-1;;;;;1297:12:39;;:14;;;;;-1:-1:-1;;;1297:14:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1297:14:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1297:14:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1297:14:39;1277:88;;;;;;;;;;;;-1:-1:-1;;;;;1277:88:39;;;;;;;;;;;;;;;;:50;;;;;;;:88;;;;;1297:14;;1277:88;;;;;;;-1:-1:-1;1277:50:39;:88;;;5:2:-1;;;;30:1;27;20:12;5:2;1277:88:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1277:88:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1277:88:39;;-1:-1:-1;544:1:39;997:375;;;;;;;:::o;1274:103:55:-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;1378:375:39:-;1505:4;472:26;;;:13;:26;;;;;;;:40;;1505:4;;472:26;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;1537:26;;;;:13;:26;;;;;:33;;;-1:-1:-1;;;;;1537:33:39;;-1:-1:-1;1584:19:39;;1580:62;;;1626:5;1619:12;;;;1580:62;1678:6;-1:-1:-1;;;;;1678:12:39;;:14;;;;;-1:-1:-1;;;1678:14:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1678:14:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1678:14:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1678:14:39;1658:88;;;;;;;;;;;;-1:-1:-1;;;;;1658:88:39;;;;;;;;;;;;;;;;:50;;;;;;;:88;;;;;1678:14;;1658:88;;;;;;;-1:-1:-1;1658:50:39;:88;;;5:2:-1;;;;30:1;27;20:12;356:31:33;;;;:::o;671:187::-;746:7;792;-1:-1:-1;;;;;792:13:33;;:15;;;;;-1:-1:-1;;;792:15:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;792:15:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;792:15:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;792:15:33;772:79;;;;;;829:4;772:79;;;;-1:-1:-1;;;;;772:79:33;;;;;;;;;:56;;;;;;;:79;;;;;792:15;;772:79;;;;;;;-1:-1:-1;772:56:33;:79;;;5:2:-1;;;;30:1;27;20:12;5:2;772:79:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;772:79:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;772:79:33;;671:187;-1:-1:-1;;671:187:33:o;1512:171:55:-;-1:-1:-1;;;;;1582:23:55;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:55;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:55;-1:-1:-1;;;;;1661:17:55;;;;;;;;;;1512:171::o;383:5737:37:-;;;;;;;;;;-1:-1:-1;383:5737:37;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;383:5737:37;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;383:5737:37;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.4.25;\n\nimport \"@daostack/infra/contracts/votingMachines/IntVoteInterface.sol\";\nimport \"@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol\";\nimport \"./UniversalScheme.sol\";\nimport \"../votingMachines/VotingMachineCallbacks.sol\";\n\n\n/**\n * @title VoteInOrganizationScheme.\n * @dev A scheme to allow an organization to vote in a proposal.\n */\ncontract VoteInOrganizationScheme is UniversalScheme,VotingMachineCallbacks,ProposalExecuteInterface {\n event NewVoteProposal(\n address indexed _avatar,\n bytes32 indexed _proposalId,\n address indexed _intVoteInterface,\n IntVoteInterface _originalIntVote,\n bytes32 _originalProposalId,\n uint _originalNumOfChoices\n );\n event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId,int _param);\n event ProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\n event VoteOnBehalf(bytes32[] _params);\n\n // Details of a voting proposal:\n struct VoteProposal {\n IntVoteInterface originalIntVote;\n bytes32 originalProposalId;\n uint originalNumOfChoices;\n bool exist;\n }\n\n // A mapping from the organization (Avatar) address to the saved data of the organization:\n mapping(address=>mapping(bytes32=>VoteProposal)) public organizationsProposals;\n\n\n struct Parameters {\n IntVoteInterface intVote;\n bytes32 voteParams;\n }\n\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n mapping(bytes32=>Parameters) public parameters;\n\n /**\n * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\n * @param _proposalId the ID of the voting in the voting machine\n * @param _param a parameter of the voting result, 1 yes and 2 is no.\n * @return bool which represents a successful of the function\n */\n function executeProposal(bytes32 _proposalId,int _param) external onlyVotingMachine(_proposalId) returns(bool) {\n address avatar = proposalsInfo[_proposalId].avatar;\n // Save proposal to memory and delete from storage:\n VoteProposal memory proposal = organizationsProposals[avatar][_proposalId];\n require(proposal.exist);\n delete organizationsProposals[avatar][_proposalId];\n emit ProposalDeleted(avatar, _proposalId);\n bool retVal = true;\n // If no decision do nothing:\n if (_param != 0) {\n // Define controller and get the params:\n int param = _param;\n if (param > int(proposal.originalNumOfChoices)) {\n param = 0;\n }\n\n ControllerInterface controller = ControllerInterface(Avatar(avatar).owner());\n if (controller.genericCa